using System;
using System.Collections.Generic;
using System.Text;

using Zwms.Data.Base;

namespace Zwms.Data.ManagerObjects
{
    public interface IManagerFactory
    {
		// Get Methods
		IBaseCompanyManager GetBaseCompanyManager();
		IBaseCompanyManager GetBaseCompanyManager(INHibernateSession session);
		IBaseGoodManager GetBaseGoodManager();
		IBaseGoodManager GetBaseGoodManager(INHibernateSession session);
		IBaseGoodsCategoryManager GetBaseGoodsCategoryManager();
		IBaseGoodsCategoryManager GetBaseGoodsCategoryManager(INHibernateSession session);
		IBaseRegionManager GetBaseRegionManager();
		IBaseRegionManager GetBaseRegionManager(INHibernateSession session);
		IBaseUnitManager GetBaseUnitManager();
		IBaseUnitManager GetBaseUnitManager(INHibernateSession session);
		IBilCountBillManager GetBilCountBillManager();
		IBilCountBillManager GetBilCountBillManager(INHibernateSession session);
		IBilCountBillDetailManager GetBilCountBillDetailManager();
		IBilCountBillDetailManager GetBilCountBillDetailManager(INHibernateSession session);
		IBilInBillManager GetBilInBillManager();
		IBilInBillManager GetBilInBillManager(INHibernateSession session);
		IBilInBillDetailManager GetBilInBillDetailManager();
		IBilInBillDetailManager GetBilInBillDetailManager(INHibernateSession session);
		IBilInPlanBillManager GetBilInPlanBillManager();
		IBilInPlanBillManager GetBilInPlanBillManager(INHibernateSession session);
		IBilInPlanBillDetailManager GetBilInPlanBillDetailManager();
		IBilInPlanBillDetailManager GetBilInPlanBillDetailManager(INHibernateSession session);
		IBilOutBillManager GetBilOutBillManager();
		IBilOutBillManager GetBilOutBillManager(INHibernateSession session);
		IBilOutBillDetailManager GetBilOutBillDetailManager();
		IBilOutBillDetailManager GetBilOutBillDetailManager(INHibernateSession session);
		IBilOutPlanBillManager GetBilOutPlanBillManager();
		IBilOutPlanBillManager GetBilOutPlanBillManager(INHibernateSession session);
		IBilOutPlanBillDetailManager GetBilOutPlanBillDetailManager();
		IBilOutPlanBillDetailManager GetBilOutPlanBillDetailManager(INHibernateSession session);
		IBilPickBillManager GetBilPickBillManager();
		IBilPickBillManager GetBilPickBillManager(INHibernateSession session);
		IBilPickBillDetailManager GetBilPickBillDetailManager();
		IBilPickBillDetailManager GetBilPickBillDetailManager(INHibernateSession session);
		IBilTransferBillManager GetBilTransferBillManager();
		IBilTransferBillManager GetBilTransferBillManager(INHibernateSession session);
		IBilTransferBillDetailManager GetBilTransferBillDetailManager();
		IBilTransferBillDetailManager GetBilTransferBillDetailManager(INHibernateSession session);
		IStoGoodsStockManager GetStoGoodsStockManager();
		IStoGoodsStockManager GetStoGoodsStockManager(INHibernateSession session);
		IStoLockManager GetStoLockManager();
		IStoLockManager GetStoLockManager(INHibernateSession session);
		ISysAccountManager GetSysAccountManager();
		ISysAccountManager GetSysAccountManager(INHibernateSession session);
		ISysConfigManager GetSysConfigManager();
		ISysConfigManager GetSysConfigManager(INHibernateSession session);
		ISysDepartmentManager GetSysDepartmentManager();
		ISysDepartmentManager GetSysDepartmentManager(INHibernateSession session);
		ISysDictManager GetSysDictManager();
		ISysDictManager GetSysDictManager(INHibernateSession session);
		ISysLoginInfManager GetSysLoginInfManager();
		ISysLoginInfManager GetSysLoginInfManager(INHibernateSession session);
		ISysLogNoGenManager GetSysLogNoGenManager();
		ISysLogNoGenManager GetSysLogNoGenManager(INHibernateSession session);
		ISysMenuManager GetSysMenuManager();
		ISysMenuManager GetSysMenuManager(INHibernateSession session);
		ISysOptLogManager GetSysOptLogManager();
		ISysOptLogManager GetSysOptLogManager(INHibernateSession session);
		ISysRoleManager GetSysRoleManager();
		ISysRoleManager GetSysRoleManager(INHibernateSession session);
		ISysWhOperateLogManager GetSysWhOperateLogManager();
		ISysWhOperateLogManager GetSysWhOperateLogManager(INHibernateSession session);
		IWhAreaManager GetWhAreaManager();
		IWhAreaManager GetWhAreaManager(INHibernateSession session);
		IWhLocationManager GetWhLocationManager();
		IWhLocationManager GetWhLocationManager(INHibernateSession session);
		IWhShelfManager GetWhShelfManager();
		IWhShelfManager GetWhShelfManager(INHibernateSession session);
		IWhWarehouseManager GetWhWarehouseManager();
		IWhWarehouseManager GetWhWarehouseManager(INHibernateSession session);
        IStatStockViewManager GetStatStockViewManager();
        IStatStockViewManager GetStatStockViewManager(INHibernateSession session);
        IBilTsfStockLogManager GetBilTsfStockLogManager();
        IBilTsfStockLogManager GetBilTsfStockLogManager(INHibernateSession session);
    }

    public class ManagerFactory : IManagerFactory
    {
        #region Constructors

        public ManagerFactory()
        {
        }

        #endregion

        #region Get Methods

		public IBaseCompanyManager GetBaseCompanyManager()
        {
            return new BaseCompanyManager();
        }
		public IBaseCompanyManager GetBaseCompanyManager(INHibernateSession session)
        {
            return new BaseCompanyManager(session);
        }
		public IBaseGoodManager GetBaseGoodManager()
        {
            return new BaseGoodManager();
        }
		public IBaseGoodManager GetBaseGoodManager(INHibernateSession session)
        {
            return new BaseGoodManager(session);
        }
		public IBaseGoodsCategoryManager GetBaseGoodsCategoryManager()
        {
            return new BaseGoodsCategoryManager();
        }
		public IBaseGoodsCategoryManager GetBaseGoodsCategoryManager(INHibernateSession session)
        {
            return new BaseGoodsCategoryManager(session);
        }
		public IBaseRegionManager GetBaseRegionManager()
        {
            return new BaseRegionManager();
        }
		public IBaseRegionManager GetBaseRegionManager(INHibernateSession session)
        {
            return new BaseRegionManager(session);
        }
		public IBaseUnitManager GetBaseUnitManager()
        {
            return new BaseUnitManager();
        }
		public IBaseUnitManager GetBaseUnitManager(INHibernateSession session)
        {
            return new BaseUnitManager(session);
        }
		public IBilCountBillManager GetBilCountBillManager()
        {
            return new BilCountBillManager();
        }
		public IBilCountBillManager GetBilCountBillManager(INHibernateSession session)
        {
            return new BilCountBillManager(session);
        }
		public IBilCountBillDetailManager GetBilCountBillDetailManager()
        {
            return new BilCountBillDetailManager();
        }
		public IBilCountBillDetailManager GetBilCountBillDetailManager(INHibernateSession session)
        {
            return new BilCountBillDetailManager(session);
        }
		public IBilInBillManager GetBilInBillManager()
        {
            return new BilInBillManager();
        }
		public IBilInBillManager GetBilInBillManager(INHibernateSession session)
        {
            return new BilInBillManager(session);
        }
		public IBilInBillDetailManager GetBilInBillDetailManager()
        {
            return new BilInBillDetailManager();
        }
		public IBilInBillDetailManager GetBilInBillDetailManager(INHibernateSession session)
        {
            return new BilInBillDetailManager(session);
        }
		public IBilInPlanBillManager GetBilInPlanBillManager()
        {
            return new BilInPlanBillManager();
        }
		public IBilInPlanBillManager GetBilInPlanBillManager(INHibernateSession session)
        {
            return new BilInPlanBillManager(session);
        }
		public IBilInPlanBillDetailManager GetBilInPlanBillDetailManager()
        {
            return new BilInPlanBillDetailManager();
        }
		public IBilInPlanBillDetailManager GetBilInPlanBillDetailManager(INHibernateSession session)
        {
            return new BilInPlanBillDetailManager(session);
        }
		public IBilOutBillManager GetBilOutBillManager()
        {
            return new BilOutBillManager();
        }
		public IBilOutBillManager GetBilOutBillManager(INHibernateSession session)
        {
            return new BilOutBillManager(session);
        }
		public IBilOutBillDetailManager GetBilOutBillDetailManager()
        {
            return new BilOutBillDetailManager();
        }
		public IBilOutBillDetailManager GetBilOutBillDetailManager(INHibernateSession session)
        {
            return new BilOutBillDetailManager(session);
        }
		public IBilOutPlanBillManager GetBilOutPlanBillManager()
        {
            return new BilOutPlanBillManager();
        }
		public IBilOutPlanBillManager GetBilOutPlanBillManager(INHibernateSession session)
        {
            return new BilOutPlanBillManager(session);
        }
		public IBilOutPlanBillDetailManager GetBilOutPlanBillDetailManager()
        {
            return new BilOutPlanBillDetailManager();
        }
		public IBilOutPlanBillDetailManager GetBilOutPlanBillDetailManager(INHibernateSession session)
        {
            return new BilOutPlanBillDetailManager(session);
        }
		public IBilPickBillManager GetBilPickBillManager()
        {
            return new BilPickBillManager();
        }
		public IBilPickBillManager GetBilPickBillManager(INHibernateSession session)
        {
            return new BilPickBillManager(session);
        }
		public IBilPickBillDetailManager GetBilPickBillDetailManager()
        {
            return new BilPickBillDetailManager();
        }
		public IBilPickBillDetailManager GetBilPickBillDetailManager(INHibernateSession session)
        {
            return new BilPickBillDetailManager(session);
        }
		public IBilTransferBillManager GetBilTransferBillManager()
        {
            return new BilTransferBillManager();
        }
		public IBilTransferBillManager GetBilTransferBillManager(INHibernateSession session)
        {
            return new BilTransferBillManager(session);
        }
		public IBilTransferBillDetailManager GetBilTransferBillDetailManager()
        {
            return new BilTransferBillDetailManager();
        }
		public IBilTransferBillDetailManager GetBilTransferBillDetailManager(INHibernateSession session)
        {
            return new BilTransferBillDetailManager(session);
        }
		public IStoGoodsStockManager GetStoGoodsStockManager()
        {
            return new StoGoodsStockManager();
        }
		public IStoGoodsStockManager GetStoGoodsStockManager(INHibernateSession session)
        {
            return new StoGoodsStockManager(session);
        }
		public IStoLockManager GetStoLockManager()
        {
            return new StoLockManager();
        }
		public IStoLockManager GetStoLockManager(INHibernateSession session)
        {
            return new StoLockManager(session);
        }
		public ISysAccountManager GetSysAccountManager()
        {
            return new SysAccountManager();
        }
		public ISysAccountManager GetSysAccountManager(INHibernateSession session)
        {
            return new SysAccountManager(session);
        }
		public ISysConfigManager GetSysConfigManager()
        {
            return new SysConfigManager();
        }
		public ISysConfigManager GetSysConfigManager(INHibernateSession session)
        {
            return new SysConfigManager(session);
        }
		public ISysDepartmentManager GetSysDepartmentManager()
        {
            return new SysDepartmentManager();
        }
		public ISysDepartmentManager GetSysDepartmentManager(INHibernateSession session)
        {
            return new SysDepartmentManager(session);
        }
		public ISysDictManager GetSysDictManager()
        {
            return new SysDictManager();
        }
		public ISysDictManager GetSysDictManager(INHibernateSession session)
        {
            return new SysDictManager(session);
        }
		public ISysLoginInfManager GetSysLoginInfManager()
        {
            return new SysLoginInfManager();
        }
		public ISysLoginInfManager GetSysLoginInfManager(INHibernateSession session)
        {
            return new SysLoginInfManager(session);
        }
		public ISysLogNoGenManager GetSysLogNoGenManager()
        {
            return new SysLogNoGenManager();
        }
		public ISysLogNoGenManager GetSysLogNoGenManager(INHibernateSession session)
        {
            return new SysLogNoGenManager(session);
        }
		public ISysMenuManager GetSysMenuManager()
        {
            return new SysMenuManager();
        }
		public ISysMenuManager GetSysMenuManager(INHibernateSession session)
        {
            return new SysMenuManager(session);
        }
		public ISysOptLogManager GetSysOptLogManager()
        {
            return new SysOptLogManager();
        }
		public ISysOptLogManager GetSysOptLogManager(INHibernateSession session)
        {
            return new SysOptLogManager(session);
        }
		public ISysRoleManager GetSysRoleManager()
        {
            return new SysRoleManager();
        }
		public ISysRoleManager GetSysRoleManager(INHibernateSession session)
        {
            return new SysRoleManager(session);
        }
		public ISysWhOperateLogManager GetSysWhOperateLogManager()
        {
            return new SysWhOperateLogManager();
        }
		public ISysWhOperateLogManager GetSysWhOperateLogManager(INHibernateSession session)
        {
            return new SysWhOperateLogManager(session);
        }
		public IWhAreaManager GetWhAreaManager()
        {
            return new WhAreaManager();
        }
		public IWhAreaManager GetWhAreaManager(INHibernateSession session)
        {
            return new WhAreaManager(session);
        }
		public IWhLocationManager GetWhLocationManager()
        {
            return new WhLocationManager();
        }
		public IWhLocationManager GetWhLocationManager(INHibernateSession session)
        {
            return new WhLocationManager(session);
        }
		public IWhShelfManager GetWhShelfManager()
        {
            return new WhShelfManager();
        }
		public IWhShelfManager GetWhShelfManager(INHibernateSession session)
        {
            return new WhShelfManager(session);
        }
		public IWhWarehouseManager GetWhWarehouseManager()
        {
            return new WhWarehouseManager();
        }
		public IWhWarehouseManager GetWhWarehouseManager(INHibernateSession session)
        {
            return new WhWarehouseManager(session);
        }

        public IStatStockViewManager GetStatStockViewManager()
        {
            return new StatStockViewManager();
        }
        public IStatStockViewManager GetStatStockViewManager(INHibernateSession session)
        {
            return new StatStockViewManager(session);
        }

        public IBilTsfStockLogManager GetBilTsfStockLogManager()
        {
            return new BilTsfStockLogManager();
        }
        public IBilTsfStockLogManager GetBilTsfStockLogManager(INHibernateSession session)
        {
            return new BilTsfStockLogManager(session);
        }
        
        #endregion
    }
}
